import click



@click.group()  # 创建命令组（类似 git 的主命令）
def cli():
    """主命令组示例"""
    pass  # 空实现，用于挂载子命令

@cli.command()  # 将子命令挂载到主命令组
@click.option('--username', prompt=True)  # prompt=True 表示未提供参数时提示用户输入
def init(username):
    """初始化配置"""
    click.echo(f"初始化用户: {username}")

@cli.command()
@click.option('--debug/--no-debug', default=False)  # 双模式开关选项
def run(debug):
    """运行程序"""
    click.echo(f"调试模式: {'开启' if debug else '关闭'}")

if __name__ == '__main__':
    cli()  # 执行主命令组


'''

@click.command()
@click.option('--count', default=1, help='重复次数')  # --count 为可选参数
@click.argument('name')
def greet(name, count):
    """带重复功能的问候程序"""
    for _ in range(count):
        click.echo(f"Hello, {name.upper()}!")  # 将名字转为大写输出

# 执行示例：
# python demo.py --count=3 John → 输出 3 次 "HELLO, JOHN!"







@click.command()
@click.argument('name')  # 定义必填的位置参数
def greet(name):
    """简单的问候程序"""
    click.echo(f"Hello, {name}!")

# 执行示例：
# python demo.py John → 输出 "Hello, John!"
# 不传参数会触发自动错误提示

print('ok')

# @click.command() 装饰器将普通函数转换为命令行接口
@click.command()
def hello():
    # click.echo 替代 print，确保在 Windows 和 Unix 系统上的兼容性
    click.echo("Hello, Click!")

if __name__ == '__main__':
    # 直接调用被装饰的函数即可运行 CLI
    hello()
    
'''
